@@ -8,6 +8,7 @@ from geo import views as geo_views  | 
            ||
| 8 | 8 | 
                from group import views as group_views  | 
            
| 9 | 9 | 
                from group import groupuser_views, lensman_views, tourguidegroup_views, tourguidegroupuser_views  | 
            
| 10 | 10 | 
                from message import views as message_views  | 
            
| 11 | 
                +from miniapp import views as mini_views  | 
            |
| 11 | 12 | 
                from operation import views as op_views  | 
            
| 12 | 13 | 
                from pay import views as pay_views  | 
            
| 13 | 14 | 
                from photo import views as photo_views  | 
            
                @@ -169,3 +170,8 @@ urlpatterns += [  | 
            ||
| 169 | 170 | 
                url(r'^pai2/home$', group_views.pai2_home_api, name='pai2_home_api'), # 首页照片信息  | 
            
| 170 | 171 | 
                url(r'^pai2/tginfo$', tourguidegroup_views.pai2_tginfo_api, name='pai2_tginfo_api'), # 首页旅行团信息  | 
            
| 171 | 172 | 
                ]  | 
            
| 173 | 
                +  | 
            |
| 174 | 
                +# Mini App  | 
            |
| 175 | 
                +urlpatterns += [  | 
            |
| 176 | 
                + url(r'^mini/userinfo$', mini_views.get_userinfo_api, name='get_userinfo_api'), # 获取用户信息  | 
            |
| 177 | 
                +]  | 
            
                @@ -0,0 +1,4 @@  | 
            ||
| 1 | 
                +from django.contrib import admin  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +# Register your models here.  | 
            
                @@ -0,0 +1,4 @@  | 
            ||
| 1 | 
                +from django.db import models  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +# Create your models here.  | 
            
                @@ -0,0 +1,4 @@  | 
            ||
| 1 | 
                +from django.test import TestCase  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +  | 
            |
| 4 | 
                +# Create your tests here.  | 
            
                @@ -0,0 +1,28 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from django.db import transaction  | 
            |
| 4 | 
                +from logit import logit  | 
            |
| 5 | 
                +from pywe_miniapp import get_userinfo  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +from account.models import UserInfo  | 
            |
| 8 | 
                +from utils.error.errno_utils import UserStatusCode  | 
            |
| 9 | 
                +from utils.error.response_utils import response  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                +  | 
            |
| 12 | 
                +@logit  | 
            |
| 13 | 
                +@transaction.atomic  | 
            |
| 14 | 
                +def get_userinfo_api(request):  | 
            |
| 15 | 
                +    appid = request.POST.get('appid', '')
               | 
            |
| 16 | 
                +    secret = request.POST.get('secret', '')
               | 
            |
| 17 | 
                +    code = request.POST.get('code', '')
               | 
            |
| 18 | 
                +    encryptedData = request.POST.get('encryptedData', '')
               | 
            |
| 19 | 
                +    iv = request.POST.get('iv', '')
               | 
            |
| 20 | 
                +  | 
            |
| 21 | 
                + userinfo = get_userinfo(appid=appid, secret=secret, code=code, encryptedData=encryptedData, iv=iv)  | 
            |
| 22 | 
                +  | 
            |
| 23 | 
                + try:  | 
            |
| 24 | 
                +        user = UserInfo.objects.select_for_update().get(unionid=userinfo.get('unionid', ''))
               | 
            |
| 25 | 
                + except UserInfo.DoesNotExist:  | 
            |
| 26 | 
                + return response(UserStatusCode.USER_NOT_FOUND)  | 
            |
| 27 | 
                +  | 
            |
| 28 | 
                + return response(200, 'Mini App Login Success', u'微信小程序登录成功', user.data)  | 
            
                @@ -49,6 +49,7 @@ INSTALLED_APPS = (  | 
            ||
| 49 | 49 | 
                'geo',  | 
            
| 50 | 50 | 
                'group',  | 
            
| 51 | 51 | 
                'message',  | 
            
| 52 | 
                + 'miniapp',  | 
            |
| 52 | 53 | 
                'operation',  | 
            
| 53 | 54 | 
                'page',  | 
            
| 54 | 55 | 
                'pay',  | 
            
                @@ -27,6 +27,7 @@ isoweek==1.3.1  | 
            ||
| 27 | 27 | 
                jsonfield==1.0.3  | 
            
| 28 | 28 | 
                mock==2.0.0  | 
            
| 29 | 29 | 
                pep8==1.7.0  | 
            
| 30 | 
                +pywe-miniapp==1.0.0  | 
            |
| 30 | 31 | 
                pywe-oauth==1.0.2  | 
            
| 31 | 32 | 
                records==0.4.3  | 
            
| 32 | 33 | 
                redis-extensions==1.0.38  |